package com.gorkr.nsum;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class M18FourSum {
//    public List<List<Integer>> fourSum(int[] nums, int target) {
//        LinkedList<List<Integer>> res = new LinkedList<>();
//        int len = nums.length;
//
//        for (int i = 0; i <len; i++) {
//
//        }
//
//    }

    /**
     *
     * @param nums
     * @param target 要凑的和
     * @param n nSums的n
     * @return
     */
//    public List<List<Integer>> nSum(int[] nums, int target, int n, int start){
//        LinkedList<List<Integer>> res = new LinkedList<>();
//
//        if(n>2){
//            for (int i = start; i < nums.length; i++) {
//                nSum(nums,target,n-1,i+1,end);
//            }
//
//            // 2 sum
//        }else if(n==2) {
//                int left = start;
//                int right = nums.length - 1;
//                while (left < right) {
//                    int now = nums[left] + nums[right];
//                    if (now == target) {
//                        ArrayList<Integer> item = new ArrayList<>();
//                        item.add(nums[left]);
//                        item.add(nums[right]);
//                        res.add(item);
//                        //todo
//                        left++;
//                        while (left<right&&nums[left-1]==nums[left]){
//                            left++;
//                        }
//                        right--;
//                        while (left<right&&nums[right]==nums[right+1]){
//                            right--;
//                        }
//
//                    }else if(now < sum){
//                        left++;
//                        while (left<right&&nums[left-1]==nums[left]){
//                            left++;
//                        }
//                    }else {
//                        right--;
//                        while (left<right&&nums[right+1]==nums[right]){
//                            right--;
//                        }
//                    }
//
//                }
//            }
//            return res;
//        }
//    }
}
